Python 中,除了 Matplotlib 適合用於資料視覺化之外,Seaborn 也是一個好用的函式庫,兩者經常會放在一起介紹或者使用,今天就和大家聊聊 Seaborn 的厲害吧!
Seaborn 是 Python 中另一個強大的繪圖套件,建立於 Matplotlib 的基礎上,提供更簡單、更高級、更美觀的圖表製作,支援 Pandas 的 函式庫,對於需要資料分析的使用者來說更加好用!
pip install seaborn
。pip list
,查看是否有 Seaborn 。import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 載入資料
data = {'month': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep'],
'Taipei': [16, 17, 19, 22, 25, 28, 30, 29, 27],
'Kaohsiung': [19, 20, 23, 25, 27, 28, 32, 30, 28]}
df = pd.DataFrame(data)
# seaborn 設定
sns.set_style('white')
sns.lineplot(data=df,x='month',y='Taipei',label='Taipei',marker='s',linestyle=':')
sns.lineplot(data=df,x='month',y='Kaohsiung',label='Kaohsiung',marker='o')
# matplot 合作
plt.title('Monthly Average Temperature Comparison')
plt.ylabel('degree(°C)')
plt.show()
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = {'city':['Taipei','New Taipei','Taoyuan','Taichung','Tainan','Kaohsiung'],
'population':[2.5,4.03,2.3,2.83,1.85,2.73]}
df = pd.DataFrame(data)
# seaborn 設定
sns.set_style('white')
sns.barplot(data=df,x='city',y='population',palette='coolwarm')
# matplot 合作
plt.title('Population of Taiwan six cities')
plt.ylabel('population(million)')
plt.show()
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
data = {'price':[50,80,100,120,150,180,200,230,250,300],
'sales':[100,90,80,70,60,30,20,15,10,0]}
df = pd.DataFrame(data)
# seaborn 設定
sns.set_style('white')
sns.scatterplot(data=df,x='price',y='sales',marker='s',color='#5f9ea0')
# matplot 合作
plt.title('Price & Sales Analysis')
plt.ylabel('price(TWD)')
plt.show()
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 載入資料
data = sns.load_dataset('flights')
df = data.pivot_table(index='month',columns='year',values='passengers')
# seaborn 設定
sns.heatmap(data=df,annot=True,cmap='Pastel1',fmt='d',linewidths=0.2)
# matplot 合作
plt.title('Flights Heatmap')
plt.show()
從今天的內容可以發現,Seaborn 雖然提供更簡單的操作和更美觀的圖表,但其運作過程仍需要搭配 Matplotlib 使用,因此,學習兩種資料視覺化的工具將有效協助邦友們完成分析報告!
我是 Eva,一位正在努力跨進資料科學領域的女子!明天開始將進入刷題篇,一起來挑戰吧!【本篇文章將同步更新於個人的 Medium,歡迎留言追蹤拍手!】